﻿using System.Collections.Generic;

using Arquitetura.Architectural.BusinessLogic.Facade;
using Arquitetura.Architectural.Model;
using Arquitetura.Model;

namespace Arquitetura.BusinessLogic.Facade
{
    public interface ISecretariaFacade : IFacadeBase
    {
        Result AlterarAluno(Arquitetura.Model.Aluno aluno);
        Result InserirAluno(Arquitetura.Model.Aluno aluno);
        Result ExcluirAluno(Arquitetura.Model.Aluno aluno);
        Result<Aluno> ConsultarAluno(Arquitetura.Model.Aluno aluno);
        Result<int> ContarAluno(Aluno alunoFiltro);
        Result<IList<Aluno>> ListarAluno();
        Result<IList<Aluno>> ListarAluno(Aluno alunoFiltro);
        Result<IList<Aluno>> ListarAluno(Aluno alunoFiltro, int skipCount, int takeCount, string sortExpression);
    }
}